﻿using System;
using System.Drawing;

namespace CloudShot.Entities
{
  public struct WindowInfo
  {
    /// <summary>
    /// Gets empty <see cref="WindowInfo"/>.
    /// </summary>
    public static readonly WindowInfo Empty = new WindowInfo();

    /// <summary>
    ///   Window handle.
    /// </summary>
    public IntPtr Handle { get; set; }

    /// <summary>
    ///   Windows Bounds in screen coordinates.
    /// </summary>
    public Rectangle ScreenBounds { get; set; }

    /// <summary>
    ///   Windows Bounds in client coordinates.
    /// </summary>
    public Rectangle ClientBounds { get; set; }

    /// <summary>
    ///   Tests whether this <see cref='WindowInfo' /> is empty.
    /// </summary>
    public bool IsEmpty
    {
      get { return Handle == IntPtr.Zero && ClientBounds == Rectangle.Empty && ScreenBounds == Rectangle.Empty; }
    }
  }
}